Driver circuits and preamplifier circuits are used in numerous applications, such as in circuitry configured for reading and writing data to a magnetic medium, such as hard disk drives. In many hard disk drive designs, preamplifier reader input current bias and voltage bias are programmable using a multi-bit digital-to-analog converter (DAC). The purpose of this DAC is to enable an accurate voltage or current to be set across each magneto-resistive head in the disk drive. For example, the desired DAC setting is the highest value possible before the voltage breakdown of the magneto-resistive head occurs (a specific voltage value common to all the heads). The resistance of each magneto-resistive head can vary considerably, such as from about 75Ω to about 1400Ω. Consequently, the DAC is required to cover a wide range of currents (Ibias mode) or voltages (Vbias mode).
Due to high head resistance variation, sophisticated search algorithms have been developed to determine the desired DAC setting. The search algorithms are stored on the drive RAM and are run at drive power-up. However, the space on the RAM is limited and due to the sophistication of the search algorithms much of the available memory is consumed by the algorithm. Additionally, the sophistication of such search algorithms tends to increase development time. The testing of such algorithms by the supplier or manufacturer of the preamps is also usually time consuming, which increases production time for many disk drive products.